home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / src / out-of-phase-102-c / OutOfPhase 1.02 Source / OutOfPhase Folder / WaveTableStorageDisplay.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-23  |  2.1 KB  |  63 lines  |  [TEXT/KAHL]

  1. /* WaveTableStorageDisplay.h */
  2.  
  3. #ifndef Included_WaveTableStorageDisplay_h
  4. #define Included_WaveTableStorageDisplay_h
  5.  
  6. /* WaveTableStorageDisplay module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* SampleConsts */
  12. /* FixedPoint */
  13. /* Array */
  14. /* Memory */
  15. /* DataMunging */
  16.  
  17. #include "SampleConsts.h"
  18. #include "FixedPoint.h"
  19.  
  20. struct WaveTableStorDispRec;
  21. typedef struct WaveTableStorDispRec WaveTableStorDispRec;
  22.  
  23. /* create a new, empty wave table storage display object */
  24. WaveTableStorDispRec*        NewWaveTableStorDisp(NumBitsType NumBits, long NumFrames);
  25.  
  26. /* dispose of the wave table storage object */
  27. void                                        DisposeWaveTableStorDisp(WaveTableStorDispRec* StorDisp);
  28.  
  29. /* get the number of frames per table */
  30. long                                        WaveTableStorDispNumFramesPerTable(WaveTableStorDispRec* StorDisp);
  31.  
  32. /* get the number of tables */
  33. long                                        WaveTableStorDispNumTables(WaveTableStorDispRec* StorDisp);
  34.  
  35. /* get the number of bits for the wave table */
  36. NumBitsType                            WaveTableStorDispNumBits(WaveTableStorDispRec* StorDisp);
  37.  
  38. /* change the number of bits for the wave table */
  39. void                                        SetWaveTableStorDispNumBits(WaveTableStorDispRec* StorDisp,
  40.                                                     NumBitsType NewNumBits);
  41.  
  42. /* get a reference to a table.  this is NOT copied, and there is no type information. */
  43. /* The last element is a repeat of the first, and is provided for making anti-aliasing */
  44. /* more efficient. */
  45. largefixedsigned*                WaveTableStorDispGetTable(WaveTableStorDispRec* StorDisp,
  46.                                                     long Index);
  47.  
  48. /* append a new (zeroed out) table to the end of the array */
  49. MyBoolean                                WaveTableStorDispAppendEntry(WaveTableStorDispRec* StorDisp);
  50.  
  51. /* put a value into a frame in a table */
  52. void                                        WaveTableStorDispSetFrame(WaveTableStorDispRec* StorDisp,
  53.                                                     long TableIndex, long FrameIndex, largefixedsigned Value);
  54.  
  55. /* get a value from a frame in a table */
  56. largefixedsigned                WaveTableStorDispGetFrame(WaveTableStorDispRec* StorDisp,
  57.                                                     long TableIndex, long FrameIndex);
  58.  
  59. /* make a duplicate of the wave table */
  60. WaveTableStorDispRec*        WaveTableStorDispDuplicate(WaveTableStorDispRec* Original);
  61.  
  62. #endif
  63.